package com.moyo.web.common.security;

import java.lang.annotation.*;

/**
 * 权限检查注解
 */
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface RequirePermissions {
    /**
     * 需要的权限编码
     */
    String[] value() default {};

    /**
     * 逻辑类型：AND | OR，默认AND
     */
    Logical logical() default Logical.AND;
}

/**
 * 权限逻辑类型
 */
enum Logical {
    AND,    // 需要满足所有权限
    OR      // 满足任一权限即可
} 